Personal computers and communication equipment provide for expansion of hardware functionality by the use of expansion buses. An early personal computer expansion bus used in personal computers based on Intel x86 processors was known as the Industry Standard Architecture (ISA) bus. The ISA bus allowed circuit boards to be compatibly added to a personal computer thereby providing additional functionality. The ISA bus operated at a maximum bus frequency of 8.22 Megahertz (MHz) and transferred data over a 16-bit data bus.
As personal computers became more powerful, the 8.22 MHz ISA bus became a bottleneck restricting data transfer between the processor and ISA bus peripherals. Alternative bus structures were developed to supplement or replace the ISA bus. One solution was the Extended Industry Standard Architecture (EISA) bus providing 32-bit data paths and high speed data transfer functions while maintaining backward compatibility with the ISA bus. A competing solution was the Micro-Channel Architecture (MCA) offered by IBM. This bus also offered 32-bit data paths and high speed data transfer functions, but did not maintain backward compatibility with the ISA bus.
As processing speed further increased and microprocessor architectures diversified, a need arose for a high-speed microprocessor independent bus. This need was met by the development of the Peripheral Component Interconnect (PCI) bus. The PCI bus provides a high speed, microprocessor independent bus that can be used to either replace or supplement existing expansion buses. The PCI bus is defined in the Peripheral Component Interconnect Specification, versions 1.0, 2.0 and 2.1 available from the PCI Special Interest Group, Portland, Oreg. PCI buses typically have either a 32-bit data path or a 64-bit data path operating at 33 MHz clock speeds. This enables maximum data transfer speeds of 132 Mbytes/second for a 32-bit bus and 264 Mbytes/second for a 64-bit bus.
Peripheral devices, also known as "bus agents," may be added to a PCI bus. For example, hard disk drives and their controllers, video output devices, network interface devices, memory devices, magnetic tape controllers, and other devices may be added to the computer system. PCI signal propagation and bus agent response time limitations restrict the maximum bus operation speed and the maximum number of devices that can be connected to a PCI bus. Additional computer system design flexibility can be gained by relaxing these limitations may undesirably restrict computer system performance and expandability. Additionally, relaxing strict PCI timing requirements can simplify the design of high-speed PCI bus agents.